home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1278.txt < prev    next >
Text File  |  1994-08-01  |  10KB  |  412 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. Network Working Group                            S.E. Hardcastle-Kille
  7. Requests for Comments 1278                   University College London
  8.                                                          November 1991
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.               A string encoding of Presentation Address
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. Status of this Memo
  32.     This memo provides information for the Internet community.  It
  33.     does not specify an Internet standard.  Distribution of this memo
  34.     is unlimited.
  35.  
  36. Abstract
  37.     There are a number of environments where a simple string encoding
  38.     of Presentation Address is desirable.  This specification defines
  39.     such a representation.
  40.  
  41.  
  42.  
  43.  
  44. RFC 1278            String encoded P-Address             November 1991
  45.  
  46.  
  47. 1  Introduction
  48.  
  49. OSI Application Entities use presentation addresses to address other
  50. Application Entities.  The model for this is defined in [ISO87b].
  51. Presentation addresses are stored in the OSI Directory using an ASN.1
  52. representation defined by the OSI Directory [CCI88].  Logically, a
  53. presentation address consists of:
  54.  
  55.  
  56.  o  A presentation selector
  57.  
  58.  o  A session selector
  59.  
  60.  o  A transport selector
  61.  
  62.  o  A set of network addresses
  63.  
  64. The selectors are all octet strings, but often have IA5 character
  65. representations.  The format of network addresses is defined in
  66. [ISO87a].
  67. There is a need to represent presentation addresses as strings in a
  68. number of different contexts.  This Internet Draft defines a format
  69. for use on the Internet.  It is for display to human users, and its
  70. use is recommended whenever this needs to be done.  Typically, this
  71. will be for system managers rather than for end users.  It is not
  72. intended for internal storage.
  73.  
  74. This Internet Draft was originally published as UCL Research Note
  75. RN/89/14 [Kil89].  It was agreed as a unified syntax for the THORN and
  76. ISODE projects.  It is used throughout ISODE.
  77. Christian Huitema of Inria and Marshall Rose of PSI Inc.  gave much
  78. useful input to this document.
  79.  
  80.  
  81. 2  Requirements
  82.  
  83. The main requirements are:
  84.  
  85.  
  86.  o  Must be able to specify any legal value.
  87.  
  88.  o  Should be clean in the common case of the presentation address
  89.     containing network addresses and no selectors.
  90.  
  91.  
  92. Hardcastle-Kille                                                Page 1
  93.  
  94.  
  95.  
  96.  
  97. RFC 1278            String encoded P-Address             November 1991
  98.  
  99.  
  100.  o  Must deal with selectors in the following encodings:
  101.  
  102.     --  IA5
  103.  
  104.     --  Decimal digits encoded as IA5 (this is the most common syntax
  105.         in Europe, as it is required by X.400(84) and should receive a
  106.         straightforward encoding)
  107.  
  108.     --  Numeric encoded as a 16 bit unsigned integer (US GOSIP). This
  109.         is mapped onto two octets, with the first octet being the high
  110.         order byte of the integer.
  111.  
  112.     --  General Hexadecimal
  113.  
  114.  o  Should give special encodings for the ad hoc encoding proposed in
  115.     ``An interim approach to use of Network Addresses'' [HK91].
  116.  
  117.     --  X.25(80) Networks
  118.  
  119.     --  TCP/IP Networks
  120.  
  121.  o  Should be extensible for additional forms.
  122.  
  123.  o  Should provide a reasonably compact representation .
  124.  
  125.  
  126. 3  Format
  127.  
  128. The_BNF_is_given_in_figure_1.__________________________________________
  129.  
  130.  
  131. <digit> ::= [0-9]
  132. <other> ::= [0-9a-zA-Z+-.]
  133. <domainchar> ::= [0-9a-zA-Z-.]
  134. <hexdigit> ::= [0-9a-fA-F]
  135. <hexoctet> ::= <hexdigit> <hexdigit>
  136. <decimaloctet> ::= <digit> | <digit> <digit>
  137.                         | <digit> <digit> <digit>
  138.  
  139. <digitstring> ::= <digit> <digitstring>                             10
  140.                         | <digit>
  141. <otherstring> ::= <other> <otherstring>
  142.                         | <other>
  143.  
  144.  
  145. Hardcastle-Kille                                                Page 2
  146.  
  147.  
  148.  
  149.  
  150. RFC 1278            String encoded P-Address             November 1991
  151.  
  152.  
  153. <domainstring> ::= <domainchar> <otherstring>
  154.                         | <domainchar>
  155. <hexstring> ::= <hexoctet> <hexstring> | <hexoctet>
  156.  
  157. <dotstring> ::= <decimaloctet> "." <dotstring>
  158.                 | <decimaloctet> "." <decimaloctet>
  159.                                                                     20
  160.  
  161.  
  162. <dothexstring> ::= <dotstring> | <hexstring>
  163.  
  164.  
  165. <presentation-address> ::=
  166.                 [[[ <psel> "/" ] <ssel> "/" ] <tsel> "/" ]
  167.                 <network-address-list>
  168.  
  169. <network-address-list> ::= <network-address> "_" <network-address-list>30
  170.                            | <network-address>
  171.  
  172. <psel> ::= <selector>
  173. <ssel> ::= <selector>
  174. <tsel> ::= <selector>
  175.  
  176. <selector>  ::= '"' <otherstring> '"'        -- IA5
  177.                                              -- For chars not in this
  178.                                              -- string use hex
  179.                 | "#" <digitstring>          -- US GOSIP            40
  180.                 | "'" <hexstring> "'H"       -- Hex
  181.                 | ""                         -- Empty but present
  182.  
  183. <network-address> ::=   "NS" "+" <dothexstring>
  184.                                  -- Concrete Binary Representation
  185.                                  -- This is the compact encoding
  186.         | <afi> "+" <idi> [ "+" <dsp> ]
  187.                                 -- A user oriented form
  188.         | <idp> "+" <hexstring>
  189.                                 -- ISO 8348 Compatability           50
  190.  
  191. <idp> ::= <digitstring> -
  192.  
  193. <dsp>  ::=
  194.         | "d" <digitstring>          -- Abstract Decimal
  195.         | "x" <dothexstring>            -- Abstract Binary
  196.         | "l" <otherstring>             -- IA5:  local form only
  197.  
  198. Hardcastle-Kille                                                Page 3
  199.  
  200.  
  201.  
  202.  
  203. RFC 1278            String encoded P-Address             November 1991
  204.  
  205.  
  206.         | "RFC-1006" "+" <prefix> "+" <ip>
  207.            [ "+" <port> [ "+" <tset> ]]
  208.         | "X.25(80)" "+" <prefix> "+" <dte>                         60
  209.            [ "+" <cudf-or-pid> "+" <hexstring> ]
  210.         | "ECMA-117-Binary" "+" <hexstring> "+" <hexstring>
  211.            "+" <hexstring>
  212.         | "ECMA-117-Decimal" "+" <digitstring> "+"
  213.            <digitstring> "+" <digitstring>
  214.  
  215. <idi> ::= <digitstring>
  216. <afi> ::= "X121" | "DCC" | "TELEX" | "PSTN" | "ISDN"
  217.                 | "ICD" | "LOCAL"
  218.                                                                     70
  219. <prefix> ::= <digit> <digit>
  220.  
  221. <ip> ::= <domainstring>
  222.                         -- dotted decimal form (e.g., 10.0.0.6)
  223.                         -- or domain (e.g., twg.com)
  224. <port> ::= <digitstring>
  225. <tset> ::= <digitstring>
  226.  
  227. <dte> ::= <digitstring>
  228. <cudf-or-pid> ::= "CUDF" | "PID"                                    80
  229.  
  230.  
  231. ________________________Figure_1:__String_BNF__________________________
  232.  
  233. Four examples:
  234.  
  235.  
  236. "256"/NS+a433bb93c1_NS+aa3106
  237.  
  238. #63/#41/#12/X121+234219200300
  239.  
  240. '3a'H/TELEX+00728722+X.25(80)+02+00002340555+CUDF+"892796"
  241.  
  242. TELEX+00728722+RFC-1006+03+10.0.0.6
  243.  
  244.  
  245. Note that the RFC 1006 encoding permits use of either a DNS Domain
  246. Name or an IP address.  The former is primarily for ease of entry.  If
  247. this DNS Domain Name maps onto multiple IP addresses, then multiple
  248. network addresses should be generated.  The DNS Domain Name form is
  249.  
  250.  
  251. Hardcastle-Kille                                                Page 4
  252.  
  253.  
  254.  
  255.  
  256. RFC 1278            String encoded P-Address             November 1991
  257.  
  258.  
  259. for convenient input.  When mapping from an encoded address to string
  260. form, the IP address form should always be used.
  261.  
  262.  
  263. 4  Encoding
  264.  
  265. Selectors are represented in a manner which can be easily encoded.  In
  266. the NS notation, the concrete binary form of network address is given.
  267. Otherwise, this string notation provides a mechanism for representing
  268. the Abstract Syntax of a Network Address.  This must be encoded
  269. according to Addendum 2 of ISO 8348 [ISO87a].
  270.  
  271.  
  272. 5  Macros
  273.  
  274. There are often common addresses, for which a cleaner representation
  275. is desired.  This is achieved by use of Macros.  If a
  276. <network-address> can be parsed as:
  277.  
  278.  
  279. <otherstring> "=" *( any )
  280.  
  281. Then the leading string is taken as a Macro, which is substituted.
  282. This may be applied recursively.  When presenting Network Address to
  283. humans, the longest available substitution should be used.  For
  284. example:
  285.  
  286.                        ________________________
  287.                        |_Macro_|Value__________ |
  288.                        | UK.AC |DCC+826+d110000 |
  289.                        |_Leeds_|UK.AC=120______ |
  290.  
  291. Then ``Leeds=22'' would be expanded to ``DCC+826+d11000012022''.
  292.  
  293.  
  294. 6  Standard Macros
  295.  
  296.  
  297. No Macros should ever be relied on.  However, the following are
  298. suggested as standard.
  299.  
  300.  
  301.  
  302.  
  303.  
  304. Hardcastle-Kille                                                Page 5
  305.  
  306.  
  307.  
  308.  
  309. RFC 1278            String encoded P-Address             November 1991
  310.  
  311.            ________________________________________________
  312.            |_Macro_____________|Value______________________ |
  313.            | Int-X25(80)       |TELEX+00728722+X25(80)+01+  |
  314.            | Janet-X25(80)     |TELEX+00728722+X25(80)+02+  |
  315.            | Internet-RFC-1006 |TELEX+00728722+RFC-1006+03+ |
  316.            |_IXI_______________|TELEX+00728722+RFC-1006+06+_|
  317.  
  318. 7  References
  319.  
  320.  
  321. References
  322.  
  323. [CCI88]  The Directory --- overview of concepts, models and services,
  324.          December 1988. CCITT X.500 Series Recommendations.
  325.  
  326. [HK91]   S.E. Hardcastle-Kille. Encoding network addresses to support
  327.          operation over non-osi lower layers. Request for Comments
  328.          RFC 1277, Department of Computer Science, University College
  329.          London, November 1991.
  330.  
  331. [ISO87a] Information processing systems - data communications -
  332.          network services definition:  Addendum 2 - network layer
  333.          addressing, March 1987. ISO TC 97/SC 6.
  334.  
  335. [ISO87b] ISO DIS 7498-3 on naming and addressing, May 1987.
  336.          ISO/IEC/JTC-1/SC 21.
  337.  
  338. [Kil89]  S.E. Kille. A string encoding of presentation address.
  339.          Research Note RN/89/14, Department of Computer Science,
  340.          University College London, February 1989.
  341.  
  342.  
  343. 8  Security Considerations
  344.  
  345. Security considerations are not discussed in this memo.
  346.  
  347.  
  348. 9  Author's Address
  349.  
  350.     Steve Hardcastle-Kille
  351.     Department of Computer Science
  352.     University College London
  353.     Gower Street
  354.     WC1E 6BT
  355.  
  356.  
  357. Hardcastle-Kille                                                Page 6
  358.  
  359.  
  360.  
  361.  
  362. RFC 1278            String encoded P-Address             November 1991
  363.  
  364.  
  365.     England
  366.  
  367.     Phone:  +44-71-380-7294
  368.  
  369.  
  370.     EMail:  S.Kille@CS.UCL.AC.UK
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410. Hardcastle-Kille                                                Page 7
  411.  
  412.